typedef struct
{
  BOOK  book;
  DISP_OBJ_ONREDRAW_METHOD redraw;
  GUI* board;
  wchar_t path[128];
  wchar_t fname[128];
  bool file_open;
}MyBOOK;

typedef struct
{
  DISP_OBJ dsp_obj;
  MyBOOK * mb;
} DISP_OBJ_board;

typedef struct
{  
  char gui[0x2c];
} GUI_Board;


typedef struct
{
         wchar_t ImageID;
         u16 ImageHandle;
}IMG;

typedef struct
{
  char dummy1[0x1C];
  void *gui;
  char dummy2[0x54];
}MediaPlayerBook;

typedef struct
{
  wchar_t Title[1024];
  wchar_t Album[1024];
  wchar_t Artist[1024];
  wchar_t Year[1024];
  wchar_t Genre[1024];
  int TrackNum;
  wchar_t ImageID;
} METADATA;

typedef struct
{
  BOOK * book;
}MSG;

BOOK * MSBook;
MyBOOK* MMSBook;
MyBOOK * myBook;


typedef struct
{
  wchar_t *path;
  wchar_t *name;
  int fulltime;
  int pos;
  int tracks_count;
} TRACK_DESC;
  
typedef struct
{
  char dummy[0x24];
  int hour;
  int min;
  int sec;
} PLAY_TIME;

  
typedef struct
{
  u16 unk;
  u16 unk2;
  wchar_t * path;
  wchar_t * name;
  wchar_t * MIME;
  int fulltime;
} BOOK_PLAYER_TRACK_DESC;
  
  
typedef struct
{
  char dummy[0x5C];
  wchar_t pos;
  char dummy1[0xE];
  int time;
  char dummy2[0x4];
  BOOK_PLAYER_TRACK_DESC * dsc;
  char dummy3[2];
  wchar_t pos2;
  wchar_t pos3;
  char dummy4[22];
  int tracks_count;
}BOOK_PLAYER_2020;

typedef struct
{
  char dummy[0x19];
  char status;
  char dummy_[0x1A];
  char preset;
  char dummy2[0x27];
  wchar_t pos;
  char dummy3[14];
  BOOK_PLAYER_TRACK_DESC *dsc;
  char dummy5[2];
  wchar_t pos2;
  wchar_t pos3;
  char dummy6[22];
  int tracks_count;
  char dummy7[8];
  char RepeatMode;
  char ShuffleMode;
}PLAY_STATE;

typedef struct
{
  char dummy[0x5C];
  wchar_t pos;
  wchar_t unk1;
  char dummy2[0x8];
  int time;
  BOOK_PLAYER_TRACK_DESC *dsc;
  wchar_t unk2;
  wchar_t pos2;
  char unk3[12];
  wchar_t tracks_count;
  wchar_t unk4;
  wchar_t tracks_count2;
} BOOK_PLAYER_2010;
